#include<bits/stdc++.h>
using namespace std;
#define int long long
const int MOD = 1e9 + 7;

int a[100005];
int cnt[5005];

int C(int m, int n) {
	return n * (n - 1) / 2 % MOD;
}

//int C(int m, int n) {
//	int up = 1;
//	for (int i = 1; i <= n; i++)
//		up *= i;
//	int d1 = 1, d2 = 1;
//	for (int i = 1; i <= m; i++)
//		d1 *= i;
//	for (int i = 1; i <= n - m; i++)
//		d2 *= i;
//
//	return up / d1 / d2;
//}

signed main() {
//	ios::sync_with_stdio(0);
//	cin.tie(0);
//	cout.tie(0);
//	freopen("D:\\code\\OJ code\\LuoGu\\P3799_4.in", "r", stdin);
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		cnt[a[i]]++;
	}

	int mx = *max_element(a + 1, a + n + 1);

	int ans = 0;
	for (int i = 2; i <= mx; i++) {
		if (cnt[i] < 2)	continue;
		for (int j = 1; j <= i / 2; j++) {
			if (i - j != j && cnt[j] >= 1 && cnt[i - j] >= 1)
				ans += C(2, cnt[i]) % MOD * cnt[i - j] * cnt[j] % MOD;
			if (i - j == j && cnt[j] >= 2)
				ans += C(2, cnt[i]) % MOD * C(2, cnt[j]) % MOD;
			ans %= MOD;
		}
	}

	cout << ans;
	return 0;
}
